1.Обзор системы | 2. Мой первый проект | 3. Модель | 4. Представление | 5. Табличное представление | 6. Объектно-реляционное связывание | 7. Контроллеры | 8. Приложение | 9. Расширенные возможности

Глава 1: Обзор системы

Знакомство

OpenXava - это фрейворк, облегчающий и значительно ускоряющий разработку приложений JavaEE/J2EE (прим. переводчика - OX реализует автоматическое построение динамического AJAX веб интерфейса, интегрированного с Базами Данных, на основе JPA Entities, используются аннотации для описания правил визуализации или правила визуализации могут быть описаны в XML файле).
В основе концепции фреймворка лежит идея использования аннотаций Java или XML-описаний бизнес-объектов с целью уменьшения рутинного программирования на Java. Философский девиз OpenXava - "Декларирование лучше кодирования" (..the more definition and less programming the better..).
Основная цель OX - создать за разработчика наиболее типовые блоки, используемые при разработке бизнес-приложений в то время, как разработчик продолжает иметь возможность при необходимости вести разработку своими средствами, как ему будет угодно.
Более подробную информацию о возможностях системы вы найдете на официальном сайте OpenXava
Ниже мы рассмотрим некоторые базовые концепции OpenXava.

Бизнес-компоненты (Business component)

В основании фундамента приложения OpenXava лежат бизнес-компоненты. В контекте OpenXava бизнес-компонент - это Java класс (поддерживается также версия в виде XML), содержащий всю информацию, необходимую для создания приложения, реализующего определенную бизнес-сущность (business concept). Например, вся информaция, которую система должна знать о бизнес-сущности "Счет" (invoice), будет определена в файле Invoice.java. В бизнес-компоненте вы можете определить:
  • Структуру данных.
  • Валидации - контроль вводимых значений (Validations), вычисления и в целом всю логику, связанную с реализуемым бизнес-понятием.
  • Допустимые представления (views), т.е. конфигурацию всех возможных пользовательских интерфейсов данного компонента.
  • Возможности создания табличных представления данных (представление данных в виде таблиц). Используются при навигации в больших массивах данных (paging), отчетах, экспорте в excel и т.д.
  • Объектно-реляционная проекция (Object-relational mapping). Включает информацию о таблицах базы данных, а также инструкции по преобразованию объектов вашего Java приложения в объекты БД.
Такая реализация хорошо подходит для командной работы в составе рабочих групп разработчиков, а также позволяет разрабатывать универсальные (generic) бизнес-компоненты, которые можно использовать для разных проектов.

Контроллеры (Controllers)

Бизнес-компоненты не предназначены для определения действий пользователя в приложении,этим занимаются контроллеры (controllers). Контроллеры определяются в файле xava/controllers.xml ваше проекта; в дополнение OpenXava имеет набор предопределенных контроллеров в OpenXava/xava/default-controllers.xml.
Контроллер - это набор действий (actions). Действие - это, фактически, кнопка или ссылка, по которой может перейти пользователь.
Контроллеры отделены от бизнес-компонентов по той причине, что один контроллер может быть присвоен (assigned) нескольким бизнес-компонентам. Например, контоллеры для выполнения CRUD операций, для печати в формате PDF или экспорта в текстовые файоы, и т.д. могут быть созданы один раз и затем многократно использованы такими компонентами, как invoices (счета), customers (клиенты), suppliers (поставщики) и т.д.

Приложение (Application)

Приложение OpenXava представляет собор набор модулей. Модуль связывает бизнес-компонент с одним или более контроллерами.
Каждый модуль приложения - собственно, то, что использует конечный пользователь. Обычно, но необязательно, модуль конфигурируется как портлет для использования внутри портала.

Структура проекта (Project structure)

Типовой проект OpenXava обычно состоит из следующих папок:
  • [root]: Здесь вы найдете build.xml (используется Ant для сборки и других операций с приложением OX).
  • src[source folder]: Содержит исходный код Java.
  • xava: Файлы XML files с конфигурацией приложения OpenXava. Самые главные из них - это application.xml и controllers.xml.
  • i18n: Поддержка интернационализации. Здесь находятся ресурсные файлы сообщений, используемых в приложении.
  • properties[source folder]: Файлы свойств (properties), являются частью конфигурации вашего приложения OX.
  • data: Здесь мы рекомендуем хранить SQL скрипты для создания таблиц базы данных вашего приложения OX.
  • web: Веб контент. Обычно, это файлы JSP (Java Server Pages), библиотеки (lib) и классы. Содержимое даной папки OX формирует автоматически, но, если необходимо, вы можете добавить свои JSP файлы или другие веб ресурсы.